﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using tea.BL;
using Util;

namespace tea.Models
{
    public class ResumePage1Model : DB.이력서
    {
        public string 이름 { get; set; }
        public string 이메일 { get; set; }

        public ResumePage1Model()
        {
        }

        public ResumePage1Model(DB.이력서 data)
        {
            if (data != null) Copy(from: data, to: this);
            this.이름 = data.사용자.이름;
            this.이메일 = data.사용자.이메일;
        }

        public static void Copy(DB.이력서 from, DB.이력서 to)
        {
            to.주민등록번호 = from.주민등록번호;
            to.외국인등록번호 = from.외국인등록번호;
            to.생년월일 = from.생년월일;
            to.성별 = from.성별;
            to.휴대전화 = from.휴대전화;
            to.강사전업여부 = from.강사전업여부;
            to.집전화 = from.집전화;
            to.집우편번호 = from.집우편번호;
            to.집주소1 = from.집주소1;
            to.집주소2 = from.집주소2;
            to.직장명 = from.직장명;
            to.직장부서 = from.직장부서;
            to.직장직위 = from.직장직위;
            to.직장전화 = from.직장전화;
            to.직장우편번호 = from.직장우편번호;
            to.직장주소1 = from.직장주소1;
            to.직장주소2 = from.직장주소2;
            to.자격증1 = from.자격증1;
            to.자격증2 = from.자격증2;
            to.자격증3 = from.자격증3;
            to.자격증4 = from.자격증4;
        }
    }

    public class ResumePage4Model
    {
        public DB.파일첨부 사진파일 { get; set; }
        public DB.파일첨부 학위파일 { get; set; }
    }

    public class 이력서요약Model : DB.이력서
    {
        public string 이름 { get; set; }
        // public string 생년월일 { get; set; } DB.이력서에서 상속받음
        // public string 성별 { get; set; }
        // public string 강사전업여부 { get; set; }
        public string 연락처 { get; set; }
        public string 최종학위 { get; set; }
        public string 최근교육 { get; set; }

    }

    public class 이력서보고서Model : DB.이력서
    {
        public string 이름 { get; set; }
        public string 이메일 { get; set; }
        public byte[] 사진 { get; set; }

        public string 학력1_구분 { get; set; }
        public string 학력1_기간 { get; set; }
        public string 학력1_학교명 { get; set; }
        public string 학력1_학과 { get; set; }
        public string 학력1_전공 { get; set; }

        public string 학력2_구분 { get; set; }
        public string 학력2_기간 { get; set; }
        public string 학력2_학교명 { get; set; }
        public string 학력2_학과 { get; set; }
        public string 학력2_전공 { get; set; }

        public string 학력3_구분 { get; set; }
        public string 학력3_기간 { get; set; }
        public string 학력3_학교명 { get; set; }
        public string 학력3_학과 { get; set; }
        public string 학력3_전공 { get; set; }

        public string 경력1_기간 { get; set; }
        public string 경력1_기관 { get; set; }
        public string 경력1_직위 { get; set; }
        public string 경력1_내용 { get; set; }

        public string 경력2_기간 { get; set; }
        public string 경력2_기관 { get; set; }
        public string 경력2_직위 { get; set; }
        public string 경력2_내용 { get; set; }

        public string 경력3_기간 { get; set; }
        public string 경력3_기관 { get; set; }
        public string 경력3_직위 { get; set; }
        public string 경력3_내용 { get; set; }

        public string 경력4_기간 { get; set; }
        public string 경력4_기관 { get; set; }
        public string 경력4_직위 { get; set; }
        public string 경력4_내용 { get; set; }

        public string 경력5_기간 { get; set; }
        public string 경력5_기관 { get; set; }
        public string 경력5_직위 { get; set; }
        public string 경력5_내용 { get; set; }

        public string 경력6_기간 { get; set; }
        public string 경력6_기관 { get; set; }
        public string 경력6_직위 { get; set; }
        public string 경력6_내용 { get; set; }


        public 이력서보고서Model()
        {
        }

        public 이력서보고서Model(DB.이력서 data)
        {
            if (data != null) Copy(from: data, to: this);
            this.이름 = data.사용자.이름;
            this.이메일 = data.사용자.이메일;
        }

        public static void Copy(DB.이력서 from, DB.이력서 to)
        {
            to.사용자ID = from.사용자ID;
            to.주민등록번호 = String.IsNullOrWhiteSpace(from.주민등록번호) ? from.외국인등록번호 : from.주민등록번호;
            to.생년월일 = from.생년월일;
            to.성별 = from.성별;
            to.휴대전화 = from.휴대전화;
            to.직장명 = from.직장명;
            to.직장부서 = from.직장부서;
            to.직장직위 = from.직장직위;
            to.논문제목 = from.논문제목;
            to.논문요약 = from.논문요약;
        }
    }

    public class ResumeListRouteData
    {
        public int ID { get; set; } // 정보: 채용ID, 이값이 0이면, 전체 이력서 목록.
        public int? page { get; set; }
        public int? size { get; set; }
        public int? srchType { get; set; }
        public string srchText { get; set; }
        public int? order { get; set; }
    }

    public class ResumeListModel
    {
        public List<이력서요약Model> 요약목록 { get; set; }
        public PaginationModel pagination { get; set; }
    }
}